Accurate representation of skeletal articulations is important for many applications including biomechanics and computer graphics. In biomechanics, for example, accurate joint models can be used for injury prevention and rehabilitation. For computer graphics, accurate joint models can lead to improved realism in character animation.
One conventional approach for representing human characters with an articulated joint model uses the Denavit-Hartenberg link parameter notation from robotics to represent figures with articulated limbs. One such conventional system is described in M. Girard et al., “Computational modeling for the computer animation of legged figures,” Computer Graphics (SIGGRAPH '85 Proceedings), vol. 19, pp. 263-270, 1985, which is incorporated by reference herein in its entirety. Although the parameter notation relates coordinate frames between adjacent segments with four parameters, each parameter set describes only a single degree of freedom between two segments. Multiple sets of parameters can be combined to achieve multiple degree of freedom (DOF) joints, but additional complexity is added for the user to manipulate or to make use of the resulting joint expressions.
Other conventional approaches include the use of Euler angles to express segment orientations, as well as quaternions and exponential maps that have desirable interpolation properties and avoid singularities inherent with Euler angles. Euler angles have degrees of freedom that are natural analogs to motion descriptions such as twist, flexion-extension, and abduction-adduction in human movement. One disadvantage of Euler angles, however, is that the choice of parameterization is restricted for particular orientations.
In addition, specialized or specifically targeted models are conventionally used to represent complex biomechanical characteristics associated with particular types of joints. Physiological joints have been shown to have many complexities that are often neglected in graphical models. For example, biomechanists routinely specify joints with several non-orthogonal, arbitrary axes of rotation that are better aligned to bone articulation. Many joints have translational components and changing centers of rotation, including the knee that is traditionally simplified as a single DOF hinge joint. In joints like the shoulder, the closed loop consisting of the clavicle, scapula, and thoracic surface of the rib cage creates a coupling between the articulations of all these joints. Several conventional approaches model, this situation by enforcing a constraint on the scapula to stay on the surface of an ellipsoid approximating the rib cage. Techniques that use specialized models to represent biomechanical or physiological complexity can be difficult for users to configure and to control.
Further, the majority of commercial software that provides visualization features for three-dimensional (3-D) modeling does not support the complexity of multiple DOF joints or specialized models. The motion of a single joint is generally restricted to the relative motion between two adjacent segments, rather than a coordinated set of motions over several segments.
One example of a system that lacks coordination over several segments is described in A. Maciel et al., “Anatomy-based joint models for virtual human skeletons,” Proceedings of Computer Animation 2002, pp. 165-172. Maciel et al. describes a model that incorporates joints that can translate and rotate together on a plane and have joint limits that dynamically change with the DOF of any joint. Each DOF is associated with an axis of rotation or translation for a single segment.
Other conventional approaches lack the generality needed to include changing joint centers, surface constraints, and joint sinus cones for joint limits on ball-and-socket joints. For example, the Peabody system described in N. Badler et al., “Virtual humans and simulated agents,” Oxford University Press, 1992, which is incorporated by reference herein in its entirety, collects joints into joint groups that have group angles to configure the joint group's segments, but lacks this generality. One problem with conventional systems that provide a high level organization to coordinate individual joints is that they are not sufficiently generalized to represent all joints accurately.
Another problem with conventional systems is that joint models are not easily exchanged or interchanged among software environments. Although standardized humanoid joint hierarchy have been defined for the purpose of avatar representation, custom joints can be added only if they do not interfere with the movement of the standard joints. Although a standard human representation is important for avatar exchange and compatibility in different software, the flexibility to define new coordinated articulations is hampered by constraints enforced by the hierarchy.
What is needed is a joint component model framework that provides modeling of joint expressions over several bone segments and provides a high level organization to coordinate the joint components. What is further needed is a framework that accommodates biomechanically accurate joints with non-orthogonal rotation axes, changing joint centers, closed loops, and intuitive configuration parameters and controls. What is additionally needed is a framework that includes intuitive controls and that provides for exchange or interchange among software environments.